Dynamic Surfaces for Virtual Reality Applications

ABSTRACT

Methods, systems, and devices for dynamic structure and surface environment are described. A columnar structure that may include a tiled surface may be used to create or adjust a surface of physical structure to allow for dynamic columns to provide an augmented physical environment. In some examples, a first plurality of columns may be configured to adjust in a first direction from a first position to a second position, an actuator in contact with some of the columns may be configured to cause the columns to adjust in the first direction from the first position to the second position; and a controller configured to receive information associated with position information of some of the columns and may communicate with the actuator.

CROSS REFERENCE

The present application for patent claims priority to U.S. ProvisionalPatent Application No. 62/249,728 by Foust, entitled “DYNAMICTESSELLATED SURFACE WITH INDIVIDUALLY OSCILLATING TILES FOR VIRTUALREALITY APPLICATIONS,” filed Nov. 2, 2015, which is hereby incorporatedby reference in its entirety.

BACKGROUND

The following relates generally to dynamic structures and surfaces forvirtual reality applications, and more specifically to columns thatadjust to augment virtual reality and may include one or moretessellated surfaces.

Virtual reality continues to progress with the advances in electronicand computing technology, including motion sensing and devices thatallow for greater user mobility. Some virtual reality applications,however, do not provide a dynamic immersive experience.

SUMMARY

The described techniques relate to improved methods, systems, devices,or apparatuses that support dynamic structures and surfaces for virtualreality applications.

In virtual reality applications, a virtual environment may be simulatedwithin a computer processor/memory hardware. Multiple users mayparticipate in the virtual environment through a computer network (e.g.,a local area network (LAN) or a wide area network (WWAN)). Users of thevirtual reality applications may then select a virtual representation(i.e., an avatar) to represent them in the virtual environment. Avirtual representation, i.e., an avatar, may be a three-dimensional (3D)representation of the user or, in some cases, an object. Additionally,users of the virtual reality application may transmit commands to avirtual environment controller (i.e., server) which may control thevirtual environment. As a result, the user's virtual representation maymove and interact with the virtual environment. However, current virtualreality applications fail to dynamically adapt a physical environment ofthe user based on the virtual reality applications and virtual realityenvironments. The described techniques herein relate to configuringelements (i.e., structures, surfaces) in a physical environment suchthat a user of the virtual reality application may experiencecharacteristics of the virtual environment, in the physical environment.

A method of adjusting an environment is described. The method mayinclude identifying a first location of a user in a structure at a firsttime; identifying a position of each of a plurality of columns, eachcolumn having a length in a first direction, a cross-sectional area in asecond direction, and a top surface; and adjusting a position of asubset of the plurality of columns based at least in part on the firstlocation of the user and the position of the subset of the plurality ofcolumns.

Some examples of the method described above may further includeprocesses, features, means, or instructions for determining to adjustthe position of at least one column based at least in part on thelocation of the user and the position of a subset of the plurality ofcolumns, wherein adjusting the position of the subset of the pluralityof columns may be based at least in part on the determination.

Some examples of the method described above may further includeprocesses, features, means, or instructions for receiving sensor datadetected from within the structure, wherein identifying the location ofa user may be based at least in part on the sensor data. In someexamples of the method described above, the sensor data comprises dataassociated with a sensor in contact with a column of the plurality ofcolumns, or data associated with a sensor isolated from the plurality ofcolumns, or a combination thereof. In some examples of the methoddescribed above, the sensor data comprises video data, audio data,Global Positioning System (GPS) data, heat data, pressure data, or acombination thereof.

Some examples of the method described above may further includeprocesses, features, means, or instructions for identifying a secondlocation of the user at a second time after the first time, whereinadjusting the position of the at least one column may be based at leastin part on the first position and the second position. Some examples ofthe method described above may further include processes, features,means, or instructions for determining a parameter associated with theuser based at least in part on the first position and the secondposition, the parameter comprising a speed, a direction, a velocity, anacceleration, or a combination thereof. In some examples of the methoddescribed above, the adjusting the position of the subset of theplurality of columns may be based at least in part on the determination.

Some examples of the method described above for adjusting the positionof the subset of the plurality of columns may further include processes,features, means, or instructions for adjusting a first column to a firstheight in the first direction; and adjusting a second column to a secondheight different from the first height in the first direction. In someexamples of the method described above, the adjusting the first columnoverlaps with adjusting the second column.

Some examples of the method described above may further includeprocesses, features, means, or instructions for identifying an action ofthe user relative to a column of the subset of the plurality of columnsbased at least in part on the location of the user or sensor data,wherein adjusting the position of the column of the subset of theplurality of columns may be based at least in part on theidentification.

In one example, a columnar apparatus for an environment may include afirst plurality of columns having a length in a first direction, a firstcross sectional area, a first subset of the first plurality of columnsconfigured to extend/adjust in the first direction from a first positionto a second position; an actuator in contact with at least some of thefirst plurality of columns, the actuator configured to cause the columnsto extend/adjust in the first direction from the first position to thesecond position; and a controller configured to receive informationassociated with position information of the first subset of the firstplurality of columns and communicate with the actuator.

Some examples of the columnar apparatus for an environment as describedabove may also include a second plurality of columns extending in thefirst direction, wherein a second subset of the second plurality ofcolumns may be positioned below the first plurality of columns and maybe configured to extend/adjust the first subset of the first pluralityof columns in the first direction based at least in part onextending/adjusting in the first direction.

In some examples of the columnar apparatus for an environment describedabove, the first subset of the first plurality of columns may beconfigured to oscillate.

In some examples of the columnar apparatus for an environment describedabove, a second cross sectional area of the second subset of the secondplurality of columns may be greater than the first cross sectional areaof a column in the first plurality of columns.

In some examples of the columnar apparatus for an environment describedabove, a first column of the first plurality of columns comprises afirst tile on a first end. Some examples of the columnar apparatus foran environment described above a second column of the first plurality ofcolumns comprises a second tile surface on a first end; and acharacteristic of the first tile may be different from a characteristicof the second tile.

In some examples of the columnar apparatus for an environment describedabove, the characteristic comprises: an orientation, a shape, a texture,a position relative to the first direction, or a combination thereof.

In some examples of the columnar apparatus for an environment describedabove, the controller may be configured to determine whether tocommunicate with the actuator based at least in part on receivedposition information associated with the user.

In some examples of the columnar apparatus for an environment describedabove, the information associated with position information comprises:virtual reality environment information, wherein the controller may beconfigured to determine whether to communicate an instruction to theactuator to adjust the first set of columns based at least in part onthe virtual reality environment information.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 illustrates examples of a dynamic structure and surface system inaccordance with aspects of the present disclosure.

FIG. 2 illustrates an example of a dynamic structure and surface systemin accordance with aspects of the present disclosure.

FIGS. 3A and 3B illustrate examples of a dynamic column and tilestructure in accordance with aspects of the present disclosure.

FIG. 4A through 4C illustrate examples of a dynamic column and tilestructure in accordance with aspects of the present disclosure.

FIG. 4D through 4F illustrate examples of a dynamic column and tilestructure in accordance with aspects of the present disclosure.

FIGS. 5A and 5B illustrate examples of a dynamic column and tilestructure in accordance with aspects of the present disclosure.

FIG. 6 illustrates examples of a dynamic column and tile structure inaccordance with aspects of the present disclosure.

FIG. 7 illustrates a dynamic structure and surface environment inaccordance with aspects of the present disclosure.

FIG. 8 shows a block diagram of a device that supports configuration ofdynamic structure and surface environment in accordance with variousaspects of the present disclosure.

FIG. 9 shows a block diagram of a device that supports configuration ofdynamic structure and surface environment in accordance with variousaspects of the present disclosure.

FIG. 10 shows a block diagram of a dynamic surface controller thatsupports configuration of dynamic structure and surface environment inaccordance with various aspects of the present disclosure.

FIG. 11 shows a diagram of a system that supports configuration ofdynamic structure and surface environment applications in accordancewith various aspects of the present disclosure.

FIGS. 12 through 14 illustrate flowcharts for configuring an environmentrelated to dynamic structure and surface environment in accordance withvarious aspects of the present disclosure.

DETAILED DESCRIPTION

In virtual reality applications, a virtual environment may be simulatedwithin a computer processor/memory hardware. Multiple users mayparticipate in the virtual environment through a computer network (e.g.,a local area network (LAN) or a wide area network (WWAN)). Users of thevirtual reality applications may then select a virtual representation(i.e., an avatar) to represent them in the virtual environment. Avirtual representation, i.e., an avatar, may be a three-dimensional (3D)representation of the user or, in some cases, an object. Additionally,users of the virtual reality application may transmit commands to avirtual environment controller (i.e., server) which may control thevirtual environment. As a result, the user's virtual representation maymove and interact with the virtual environment. However, current virtualreality applications fail to dynamically adapt a physical environment ofthe user based on the virtual reality applications and virtual realityenvironments. Virtual reality is a rapidly growing technology sectorthat has attracted significant attention from some of the most prominentcompanies in the technology industry. As a result, consumer interest hasspiked for virtual reality products. Virtual reality products such asthe virtual reality headset hardware may become smaller, lighter,wireless, and may include additional capabilities. Continued progress incomputer vision will lead to better and more detailed real-time peopleand object tracking in three-dimensional space. Some consumer virtualreality implementations are targeted for a seated experience or do notallow for a fully-immersive, tactile experience. In some cases, a roommay be modeled and users may walk around a room. The problem ofdynamically adjusting a virtual environment and physical interactionwith such a virtual environment has yet to be sufficiently andsuccessfully addressed. The described techniques herein relate toconfiguring elements (i.e., structures, surfaces) in a physicalenvironment such that a user of the virtual reality application mayexperience characteristics of the virtual environment, in the physicalenvironment.

One aspect of the present disclosure relates to the use of adjustableoscillating structures (e.g., columns) to create programmably-shapedphysical environments, rooms, walls, and topography. Another aspect ofthe present disclosure relates to transmitting or conveying physicalsensations to the user (e.g., using vibration).

A physical environment may include an enclosed area, such as awarehouse, in which the floor may be made up of tiles (e.g., square,circular, or triangular tile) each of which may be actually the top faceof a rigid column. In one case, each column of a plurality of columnsmay move independently and be powered by their own actuator (e.g., alinear motor). Alternatively, in some examples, a set of columns may begrouped and move simultaneously. Additionally, the set of columns may bepowered by a single actuator or may be powered by individual actuatorsassigned to each column of the set. In some examples, various positionalconfigurations can create areas of different shapes and surfacetopographies. For example, one configuration of surface topographies mayrepresent a smooth and/or flat surface. Alternatively, anotherconfiguration of surface topographies may represent a rough, uneven,and/or sloped surface. In some examples, a surface topography mayinclude a combination of smooth and rough surfaces of varying slopes.Alternatively, terraced slopes representing stairs or a seatedamphitheater may be represented.

In some cases, each column may be subject to oscillation. For example,each column may be equipped with an oscillation device that may apply avibration signal to the each column based on signals received from asource device (e.g., actuator, linear motor). In another example, thesource device (e.g., actuator, linear motor) itself could act as thedirect oscillator. As a result, an oscillation of each of these columnsmay transmit vibrations of various frequencies to people and objects incontact with the column. For example, a virtual environment may depictan occurrence of an earthquake in the virtual environment to the uservia the virtual reality application. As a result, a group of oscillatingcolumns in the physical environment may oscillate and map an experiencelevel of the earthquake in the virtual environment to the user in thephysical environment. In some aspects of the present disclosure, one ormore users may share an experience of a virtual reality environment andthe physical environment. For example, with reference to the aboveexample, two users may be located within a same physical environment andexperience a similar experience level related to the earthquake in thevirtual environment via the physical environment. Alternatively, twousers may be located in different physical environments and experience asimilar level related to the earthquake in the virtual environment viatheir corresponding physical environment.

Other examples of virtual reality experiences do not facilitate asocially interactive experience in sharing virtual reality environmentstogether, whether physically present in the same space, or at separatesites that can be programmed to be physically similar or identical sothe user can essentially “share” the same virtual space. The presentdisclosure relates to a potentially-dynamic environment that may becontrollable, programmable, and reactive to interaction.

Aspects of the disclosure are initially described in the context ofdynamic columnar structures and surfaces. Aspects of the disclosure arefurther illustrated by and described with reference to apparatusdiagrams, system diagrams, and flowcharts that relate to operations fordynamic setup and adjustment of columnar structures and surfaces. Thedescription herein is provided to enable a person skilled in the art tomake or use the disclosure.

Various modifications to the disclosure will be readily apparent tothose skilled in the art, and the generic principles defined herein maybe applied to other variations without departing from the scope of thedisclosure. Thus, the disclosure is not limited to the examples anddesigns described herein, but is to be accorded the broadest scopeconsistent with the principles and novel features disclosed herein.Although certain examples are provided (e.g., constructions, numbers ofcomponents, layers, materials, environment parameters), other examplesare specifically contemplated and will be readily apparent to thoseskilled in the art.

FIG. 1 illustrates an example of a dynamic structure and surface system100 in accordance with various aspects of the present disclosure. Thedynamic structures and surface system 100 includes a foundation layer105, support columns 110 (e.g., support columns 110-a to 110-g), andcolumns 115 (e.g., column 115-a to 115-u). In some cases, dynamicstructures and surface system 100 may support adjustment of variousstructures to augment a physical reality environment with or separatefrom a virtual reality environment. In some examples, the dynamicstructure and surface system 100 may simulate the physical properties ofobjects and textures. In some examples, this may be based on the shapeof the objects (e.g., the columns). Certain structures may be used inconjunction with virtual reality applications or simulations.

In some examples, a user may be able to “see” a virtual realityenvironment and that environment may be augmented with physical objectsthat add additional realism. For example, one or more images may becreated (e.g., projected, based on virtual reality headwear, otheroptions) in an environment. At the same time the physical objects andstructures may be adjusted (e.g., columns or other structures may createobjects that may allow for interaction. In some cases, the physical,structural adjustment may be used to help augment the virtual objects byallowing the user to have a dynamically-adjustable object to interactwith and that would confirm the user's perception of the virtual realityenvironment. In other examples, some objects could be present in thephysical environment or space, but may be rendered all or partiallytranslucent or transparent in the virtual space. This would essentiallycreate a force field effect by having one or more objects (e.g., walls,rocks, domes, obstacles) that the user would interact with, in somecases.

In some examples, the columns (and/or other similar structures), may beconfigured to move only in the vertical direction. Alternatively, thecolumns (and/or other similar structures), may be configured to move inmultiple directions. For example, the columns may be configured to movein the vertical direction and may be able to rotate. In other examples,the columns (and/or other similar structures), may be configured to movevertically and horizontally (e.g., in an x direction) based on lateralmovement, which may allow for multiple degrees-of-freedom. In otherexamples, the columns (and/or other similar structures), may beconfigured to move vertically and horizontally (e.g., in an x directionand a y-direction) based on lateral movement, which may allow formultiple degrees-of-freedom. This lateral movement may be based on usingcolumns or other structures on rollers, such as a gimbal system or aplatform that can move in one or more directions. In some examples, atleast a subset of columns may be configure to rotate within apredetermined range about one or more axes.

In some cases, various movement capabilities may be combined with moretraditional forms of motion simulation. The underlying anchoringstructure may, in some cases, be gimbaled, allowing for global lateralmotion on the x-y axis (environmental motion), tilt (lateral gravityeffects on occupants) rotational force, other effects, and/or somecombination.

Lower levels of columns beneath the primary interaction level, asdescribed with reference to FIGS. 1 and 2, may be employed to increasethe vertical topographical range of the landscape, and to creategravitational effects by accelerating groups of primary level columnsduring one or more periods. Upper levels of columns that may in somecases be smaller than those in other levels or layers, may be overlaidon the surface of one or more lower levels of columns for texturaleffects. Having multiple levels of columns may rely on similarprinciples of oscillation and adjustment. In some examples, columns 115may be used for human scale features and surfaces such as chairs,boulders, tree stumps, walls, etc. Lower levels may be configured forhuman scale or larger scale. In some examples, at least some, if not allcolumn levels, may be capable of vibrational wave propagation aloneand/or in concert, to create sound waves and tactile transmissions.

FIG. 2 illustrates an example of a dynamic structure and surface system200 in accordance with various aspects of the present disclosure. Thedynamic structure and surface system 200 includes a foundation layer205, support columns 210 (e.g., support columns 210-a to 210-g), andcolumns 215 (e.g., column 215-a to 215-u), which may be examples of thecorresponding device, structures, or surfaces described with referenceto FIG. 1 and/or other figures. In some cases, dynamic structure andsurface system 200 may support adjustment of various structures toaugment a physical reality environment with or separate from a virtualreality environment.

In some examples, dynamic structure and surface system 200 maydynamically adapt or configure support columns 210 and columns 215 toproduce an experience level related to continual lateral motion in thesame or nearly the same direction. Alternatively, dynamic structure andsurface system 200 may dynamically adapt or configure support columns210, or columns 215, or foundation layer 205, or a combination thereofto produce an experience level related to continual motion in the sameor nearly the same lateral direction. For example, dynamic structure andsurface system 200 may be of a predetermined size and/or area to producean illusion of continual motion in a direction (e.g., a lateraldirection) that correlates to a human sensory perception for detectinglinear motion.

Dynamic structure and surface system 200, in some cases, may applysubtle visual cues or distortions based on manipulation of knownperceptive and cognitive illusions associated with human sensoryperception. For example, dynamic structure and surface system 200 maydynamically adapt or configure support columns 210 and columns 215 toscale an experience level (e.g., movement perception, textureperception). For example, dynamic structure and surface system 200 mayconfigure a physical environment by adjusting one or more of columns215, or support columns 210, or combination thereof.

Additionally, dynamic structure and surface system 200 may increase anexperience level based on manipulating individual columns (e.g., columns215 or support columns 210) at increasingly smaller diameters creatingthe illusion of movement and/or texture through combinations ofoscillation frequency and column spatial granularity. For example,dynamic structure and surface system 200 may adjust a diameter of one ormore columns 215. In addition, dynamic structure and surface system 200may oscillate one or more of the columns 215 via the foundation layer205. In some cases, when spatial and temporal resolution of oscillatorsmove below the spatial resolution and temporal response of the sensoryorgan in contact with the dynamic surface (the fingertips and lips beingparticular exemplars of high concentration of spatial nerve resolution)than any texture can be represented.

In some examples, one or more configurations of dynamic structure andsurface system 200 may be based on a default mode. A default mode fordynamic structure and surface system 200 may match a 1:1 between thephysical environment and a virtual representation. Alternatively, othermodes exist where slightly different or time-delayed dynamic effects maybe applied for creatively exploiting the human perceptual system. Forexample, in some cases the physical environment including objects,columns, and/or structures may be a scaled version of the virtualreality environment. Some examples of dynamic structure and surfacesystem 200 may adjust objects, columns, or structures, or a combinationthereof based on or more modes of operation. For example, in one mode ofoperation the physical columns and/or dynamic objects, of dynamicstructure and surface system 200, may be a scaled version of objectsdepicted in the virtual reality environment. In some examples, a thirdmode may be a “ground” state that may simulate various raised surfacetypes based on adjusting one or more columns. The surface could itselfchange, perhaps flip from a default “ground” texture that may be firm(e.g., a hard texture) to several other textures (e.g., soft, squishy,bouncy).

Alternatively, in some cases, one or more elements of the physicalenvironment may be smaller than or larger than the corresponding orrelated virtual reality environment elements. This may allow forphysical interaction with some objects that provide the realism andaugmentation of the virtual reality without requiring a one-to-onemapping of every element. For example, a wall may be formed by one ormore columns that extend to approximately six feet high (e.g., columns215-s, 215-t, 215-u), which may in some examples be a limit of thecolumnar extension. The wall in the virtual reality application,however, may be depicted or experienced by the user as appearing onehundred feet high.

In some cases, dynamic structure and surface system 200 may determinewhether physical objects are different, the same, bigger, or smallerthan the corresponding objects in the virtual reality environment basedon one or more factors. As some examples, these factors may include usercharacteristics (e.g., height, weight), user interaction with one ormore physical and/or virtual objects, physical environmentcharacteristics (e.g., environment area, height, length, materials),other information, or some combination.

FIG. 3A illustrates an example of a dynamic column and tile structure300-a in accordance with various aspects of the present disclosure. Thedynamic column and tile structure 300-a may include tile 305, column310, actuator 315, among other components and/or elements. In someexamples, actuator 315 may be in contact with, coupled to, connected to,or otherwise joined with tile 305, column 310, or both. Actuator 315may, in some examples, be configured to communicate with and/or receivesignals from one or more other devices and actuate one or more columns(e.g., column 310), one or more tiles (e.g., the 305), other components,or a combination thereof. In some examples, actuator 315 may be fullysurrounded by column 310, at least partially surrounded by column 310,or may be independent of column 310. In some examples, column 310 may beor include a unitary structure. In some cases, this structure may have aconstant (or approximately constant cross-sectional area and/orgeometry) and/or may be made from a single materials. In other examples,this structure may have a varying (or approximately varyingcross-sectional area and/or geometry) and/or may be made from one ormore components and/or materials.

In some cases, a column 310 may be or include a circular cross-section,an n-sided prism, another geometric shape, or a combination thereof. Insome examples, a column 310 may include a tile component (e.g., acolumnar or prismatic tile). For example, column 310 may be a rigidcolumn that may be an elongated n-sided prism where n may be the shapeof the polygon of the tile, or a circular column (cylinder) may be used.In some examples, column 310 may be made of a rigid material made ofmetal, ceramic, plastic, carbon composite, other materials, or acombination thereof, or other material with the necessary hardness andstrength characteristics. In some examples, different columns may haveor include different shapes, characteristics, functions, or features. Insome cases, columns may be configured in various hierarchies of lengthsand/or diameters, depending on which layer the columns reside in withinan environment. In some examples, columns of different layers (e.g.,such as those shown in FIGS. 1 and 2, among others), may have the samecharacteristics, similar characteristics, different characteristics, ora combination thereof. For example, these characteristics may includelength, width, height, cross sectional area, cross-sectional shape,material, coating, components, other characteristics, or a combinationthereof.

In some examples, column 310 may include a sensor 345. This sensor 345may be embedded within or positioned at or on the surface of the column310, perhaps in a substrate (e.g., a plastic substrate, a rubbersubstrate) that also serves to protect the end of the column and itsinteraction with a human or object. In some examples, this surfacesensor may be or include a pressure sensor, a proximity sensor, anothersensor, other sensor, or a combination thereof. This sensor may beincluded to detect a user's movement, type of movement (e.g., jumping,walking, running, sitting) and/or position (e.g., by activating thesensor by being on the sensor or by being proximate the sensor). In somecases, this detection may be based on multiple sensors and thencorrelating the data of these one or more sensors to identify ordetermine various conditions. Sensor 345 or other sensor 350 may beconfigured to transmit (e.g., through one or more wired and/or wirelesscommunication links) received information, identifications, and/ordeterminations to one or more other devices (e.g., actuator 315,controller 340, a user device 1150). This information may be used by atleast some of the one or more other devices to adjust column 310, othercomponents, make identifications, determinations, or a combinationthereof. In some examples, it may not be necessary to include a surfacesensor, depending on the ability and sensitivity of the linear motor, orexternal sensor, to detect and transmit externally applied forceinformation. In some cases, a surface sensor may be used alternativelyto or additionally with one or more other sensors that may detect userlocation, action, etc.

In some examples, column 310 may include a tile 305 (e.g., an end cap)at the environment-interacting surface of the column. Tile 305 may bedesigned of plastic or rubber material which may also serve to protectthe end of column 310 and its interaction with a human or object. Insome examples, tile 305 may be or include a surface that may protect apart of column 310 and/or the user based on the user interacting withtile 305 and/or column 310. In some cases, tile 305 may includereversible surfaces (e.g., manually or automatically reversible based ona flipping motion). The reversible surface may each have differenttextures and/or characteristics to enable various uses of the tiles fordifferent applications.

For example, a first surface may have a first texture or characteristic(e.g., a grass texture, a protruding texture, a finger-like texture), asecond surface may have a second texture or characteristic (e.g., asmooth surface, a cobblestone surface, a rock surface, a secondelasticity), a third surface may have a third texture or characteristic(e.g., a cement texture, a rough texture, a third elasticity), othertextures or characteristics, or a combination thereof. Tile 305 may,additionally or alternatively, be configured to expose or alternatebetween various surfaces based on interaction with one or moreactuators. In some cases, this may include rotating tile 305 around anaxis to display a second side (e.g., like a second side of a coin).

Additionally, tile 305 may have a degree of freedom related to amovement on an axis of tile 305. For example, tile 305 may independentlybe adjusted on its axis to configure with one or more neighboring tiles.In some examples, one or more tiles (e.g., the 305) may be adjusteddirectionally. In some cases, tile 305 may be coupled or connected toits own actuator (e.g., actuator 305) that may adjust a direction,angle, tilt of tile 305. In some examples, actuator 315 may be orinclude an electrically-powered physical device that controls themechanical oscillation, movement, or adjustment of column 310. In someexamples, actuator 315 may be entirely electrically powered or mayinclude a hydraulically powered or air powered actuator, among othervarious types. Actuator 315 may be configured to adjust column 310and/or column subcomponents to facilitate creation of an interactive,augmented reality environment. In some examples, actuator 315 may be orinclude a linear actuator that may be or include one or more linearmotors, rotational motors, a rack and pinion constructions, otherconstructions, or a combination thereof.

In some cases, actuator 315 may be in contact with, coupled to, orconnected with one or more components of one or more columns (e.g.,columns 215 or support columns 210) and, based on receiving a signal orother information from another device (e.g., a controller, a userdevice), may adjust one or more aspects relating to one or more of thecolumns or sub-components. An electrically powered linear motor providesone example actuator for some applications, however other systems usingpneumatic or hydraulic power are conceivable. In some cases, differentactuators may be used for different layers or sets of columns (e.g., alinear actuator for first top column layer, a hydraulic actuator for asecond column layer). In other examples, a similar type or model ofactuator may be used for different layers or sets of columns for lowerlayers, depending on the area and weight requirements of the verticalforce to overcome.

In some examples, tile 305 may include a positional sensor and aninertial sensor. In some cases, a sensor(s) (e.g., sensor 345 or sensor350) may be perhaps embedded within a column for redundancy in positionand velocity tracking. In some examples, sensor 345 may be configured toidentify a column's absolute and/or relative position, acceleration,speed, other inertial-related parameters, other characteristics, or acombination thereof. In some cases, sensor 350 may be positionedrelative to a column 310 (or columns). In some examples, sensor 350 maybe a sensor external to or not in contact with column 310 (or othercolumns). For example, an external sensor may be positioned beneathactuator 315 and/or column 310 to provide an additional redundancy ondetecting position and velocity tracking of each column. In some cases,sensor(s) 345 or 350 may be or include a laser. It may not be necessaryto include such an additional sensor, depending on the ability andsensitivity of the linear motor, or possible internal sensor(s), todetect and transmit position and velocity information.

Additional potential components (e.g., sensor 345, device 355, or otherdevices) in or on tile 305 and/or column 310 could provide enhancedtracking capabilities for users and objects in the room (passivetracking, active tracking, or both). In some examples, LED,retroreflective, or other suitable markers could be embedded in orattached to one or more locations (e.g., one or more vertices, one ormore edges, one or more faces) of tile 305 and/or column 310. Thesemarkers would facilitate easier and potentially more precise“inside-out” tracking from a VR headset mounted with cameras and/orother elements to more accurately determine headset position andorientation relative to one or more tiles 305 and/or columns 310, amongother components. In some examples, lasers, or other form ofelectromagnetic radiation, may be or attached to one or more locations(e.g., one or more vertices, one or more edges, one or more faces) oftile 305 and/or column 310 to augment positional tracking of users andobjects within the space. In some examples, device 355 may be or includeone or more cameras, sensors, microphones, or other detectors embeddedin or attached to one or more locations (e.g., one or more vertices, oneor more edges, one or more faces) of tile 305 and/or column 310) toenhance computer vision tracking of bodies, objects, hands, and/orgestures, among other parameters.

Tile 305 may, additionally or alternatively, be positioned adjacent toeach other along an axis or plane (e.g., x-y plane), but may be free tomove in another axis or plane (e.g., the z axis). At the surface facingthe desired action, tile 305 or endcap potentially containing a surfacesensor 345 may be attached that will be continuous with the tile andapproximately the same shape as the tile. In some examples, tile 305 mayinclude rounded edges for comfort and safety. In some examples, column310 may, in some cases, be individually manipulated in a direction(e.g., the z-axis) by actuator 315 (e.g., a mechanical oscillator).Additional devices for tracking columnar position in real time may beincorporated (e.g., a positional sensor, an inertial sensor, an externalsensor such as a laser). In some examples, tile 305 will have the samecross-sectional area as column 310, in order to increase the utility ofpartially extended columns and avoiding overhangs or ledges between tile305 and column 310. In other examples, tile 305 will have a differentcross-sectional area from column 310.

Column 310 may, additionally or alternatively, include a tile or tileson a distal end. In some cases, this may create floor made entirely upof tiles. Alternatively, a solid floor with a few simple shapes embedded(based on one or more columns) may be included, as discussed withreference to FIGS. 4A-4F. Each tile or simple shape making up theinitially apparently 2-D surface may be the top face of a rigid column.In some cases, column 310 may be computer-controlled at remotely by alinear actuator, using control principles currently applied to displaytechnologies (such as LED panels). In this way, each tile (e.g., tile305) can be thought of as analogous to a pixel, and when multiplied bycolumn protrusion in another direction (e.g., the z-axis), a voxel.

In some examples, column 310 may include or may be solid metal orceramics or similar strength and rigidity for smaller diameter columns(e.g., sub-centimeter scale), with composite and/or partially hollowcolumn structures for larger columns (e.g., 1 cm to 1 m or even greaterdiameter) in accordance with the inertial resistance of column 310.Reaction time and ability to efficiently move an appropriately strongand rigid object with the right or appropriate latency may be identifiedbased on user experience, feedback, etc. In some examples, one or morecolumns (e.g., for larger scales) may include carbon fiber composites,or aluminum, or both for some applications.

In some examples, safety features may be included as part of a system(e.g., dynamic structure and surface system 100 or 200 as described withreference to FIG. 1 or 2). For example, sensors (i.e., sensor 345) maybe incorporated into a surface of each tile that can precisely detect anamount of applied pressure (e.g., to millisecond accuracy or othertiming constraints, based on weight, based on acceleration), primarilyto obtain awareness of human interaction. The rigid columns may besurfaced with softer materials (plastic/rubber), with smoothed edges forincreased safety and comfort (particularly edges).

In some examples, large magnitude or scale state changes that couldcause undesirable force or distress to the user may occur only when noone may be in physical contact with column 310, or in the potential pathof column 310. In order to facilitate the correct positioning of the oneor more users before and/or during a change of column 310 positionalconfiguration, one or more actions may be taken. In some cases, this mayinclude visual, tactile, auditory, other cues, or a combination thereof.In some examples, visual (in the virtual environment) and tactile(vibrational effect from columns in the physical environment) can beemployed. For example, these could include subconscious and conscioussuggestions, ranging from subtle cues to insistent verbal or color-codedcommands, as described with respect to FIG. 7 and component 735, amongother examples).

Additionally, a user may hear, feel, or otherwise perceive a pattern ora condition. This condition, such as a pattern, may indicate that acolumn configuration in the physical space has changed, may be changing,and/or will change. This pattern or condition may indicate one or moreoptions or actions for the user. For example, a pulse pattern (e.g., ofthe column and/or the tile on which the user may be detected and/or neara location in which the user may be detected) may indicate that a usershould move to a different location. This instruction and relatedoperations may, in some cases, be based on detecting column positionand/or user position (or multiple user positions of the same user overtime or multiple users at the same time or over time).

FIG. 3B illustrates an example of a dynamic column and tile structure300-b in accordance with various aspects of the present disclosure. Thedynamic column and tile structure 300-b may include tile 305-a, columnbase 310-a, column intermediate section 310-b, and column distal section310-c, among other components and/or elements. In some examples,actuator 315-a may be in contact with, coupled to, connected to, orotherwise joined with tile 305-a, column base 310-a, column intermediatesection 310-b, and column distal section 310-c, or a combinationthereof. Actuator 315-a may, in some examples, be configured to receivesignals from one or more other devices and actuate one or more columnselements (e.g., column base 310-a, column intermediate section 310-b,and column distal section 310-c), one or more tiles (e.g., the 305-a),other components, or a combination thereof. In some examples, actuator315-a may be fully surrounded by, at least partially surrounded by, orindependent of tile 305-a, column base 310-a, column intermediatesection 310-b, and column distal section 310-c, or a combinationthereof. In some cases, actuator 315-a may be in contact with, coupledto, or connected with one or more components of one or more columns(e.g., 310-c, 310-b, and/or 310-a) and, based on receiving a signal orother information from another device (e.g., controller 340-a, a userdevice), may adjust one or more aspects relating to one or more of thecolumns or sub-components.

In some examples, column 310 may be or include a unitary structure. Insome cases, dynamic column and tile structure 300-b may have a constant(or approximately constant cross-sectional area and/or geometry) and maybe made from a single material. In other examples, dynamic column andtile structure 300-b may have a varying (or approximately varyingcross-sectional area and/or geometry) and may be made from one or morecomponents and/or materials. In some examples, column base 310-a, columnintermediate section 310-b, and column distal section 310-c, may benested or telescoping. Actuator 315-a may be configured to extend alength or adjust one or more lengths to allow for a subset of columnbase 310-a, column intermediate section 310-b, and column distal section310-c to be exposed.

FIGS. 4A through 4C illustrate examples of dynamic column and tilestructures 400-a, 400-b, and 400-c in accordance with various aspects ofthe present disclosure. As shown in FIG. 4A, tile 405-a may be orinclude a unitary piece. In some examples, tile 405-a have a rectangularshape. In other examples, the tile structure in an environment may benon-rectangular, geometric, non-geometric, unique, or a combinationthereof. In some examples, tile 405-a may include or be one component.Tile 405-a may include features and/or characteristics according tovarious aspects of the present disclosure. In some cases, tile 405-a maybe rigid, bendable, malleable, elastic, or a combination thereof, amongother characteristics.

As shown in FIG. 4B, tile 405-b may be or include multiple componentpieces. In some examples, tile 405-b may include sub-components, whereat least some of the subcomponents are joined, in contact with eachother, coupled, glued, or resting against one or more surfaces. In someexamples, tile 405-b may have a rectangular shape. Alternatively, inother examples, tile 405-b may have various other geometric and/ornon-geometric shapes or composite/unique shapes. In other examples, thetile structure in an environment may be non-rectangular, geometric,non-geometric, unique, or a combination thereof. In some examples, tile405-b may include or be multiple similar, same, or different components.In some cases, the components may include a repeating pattern ofthree-dimensional elements. In some cases, at least some of the one ormore of the sub-components (e.g., sub-columns) may be configured to beadjusted, as shown in FIG. 4C. In some examples, this adjustment may bevia one or more actuators (e.g., individual actuators, groupedactuators), electrical signals, or other methods based on computercircuitry and related electrical components and/or controllers.

FIGS. 4D through 4F illustrate examples of a dynamic column and tilestructures 400-d, 400-e, and 400-f-b in accordance with various aspectsof the present disclosure. The components in FIGS. 4D through 4F mayrelate to a dynamic tessellated surface with individually oscillatingtiles for virtual reality applications. The system may facilitatemanipulating landscape and surface topography.

As shown in FIG. 4D, a surface based on one or more columns and/or tilesmay be shown. In some examples, different tile and/or columns havingdifferent characteristics may be incorporated within an environment. Insome cases, different shapes of tiles (e.g., among othercharacteristics) may be used and may correlate with different surfacefeatures in a virtual reality environment. For example, a circularcomponent 430 (e.g., a tile, a column) may be depicted as a manhole or aspotlight, while a square component 425 (e.g., a tile, a column) may bedepicted as a sidewalk element, a landing, etc. In some examples,different columns having various characteristics may be included. Insome examples, a circular column may be adjusted in a vertical directionto represent (e.g., in a virtual environment) a lamppost, a telephonepole, a traffic signal, or a tree, among other examples. In some cases,a rectangular or a square column may be adjusted in a vertical directionto represent one or more objects, including, for example, a fence post,a wall, a sign, or a ladder, among other objects.

As shown in FIGS. 4E and 4F, various tile and/or column patterns may beused in an environment. In some cases, each tile and/or column 405-e mayhave a similar shape (e.g., rectangular, square, geometric, triangular).In some cases, various tile and/or column shapes may be combined in anenvironment. Some columns having a first shape or cross-sectional area(e.g., circle, rectangle) may support a tile 405-f of a different shapeor area (e.g., a triangle). In some cases, only a portion of thetriangular tiles shown in FIG. 4F may be able to be adjusted via one ormore columns, so that only a portion of the tiles (e.g., the tiledsurface) may adjust to one or more second position. In other cases,every element of the tiles (e.g., the tiled surface) may be configuredto individually adjust separately, during overlapping periods,simultaneously, or some combination.

In some examples, the primary tessellated surface level could be asimple square grid, with square columns, or each column could be furtherdivided into four triangles (e.g., right triangles). This may allow forninety-degree corners for objects such as walls, by moving four trianglecolumns as a unit, but would provide greater flexibility in allowing 45degree angles by moving only two adjacent triangular columns along anedge. Other levels, such as larger supporting column levels below asdescribed with reference to FIGS. 1 and 2, or higher overlaid columnsabove (e.g., the primary level), may require different shapes fordifferent applications.

FIGS. 5A and 5B illustrate examples of a dynamic column and tilestructure 500-a and 500-b in accordance with various aspects of thepresent disclosure. The dynamic column and tile structure 500-a and500-b include various layers, which may be examples of the correspondingdevices and or elements described with reference to FIGS. 1-3 and/orother figures. In some examples, column structures shown in FIGS. 5A and5B include a column 500-a extending in a first direction (e.g., thevertical, z direction). This column 500-a may include tile 505 (whichmay be positioned on a distal end of column 500-a), various columnsand/or layers that are configured to remain fixed or are static (e.g.,column 310-a, 310-b), various columns and/or layers that are configuredto remain move or adjust in one or more directions and are dynamic(e.g., column 515-a, 520-a, 520-b), other columns configured to performother functions or movements, or a combination thereof. In some or arestatic may be configured to a foundation layer 105, support columns 110(e.g., support columns 110 a-to 110-g), and columns 115 (e.g., column115-a to 115-u).

In some cases, column 500-a may be configured to adjust or move in afirst direction (e.g., a vertical direction), while other columns 515-a,520-a, 520-b (e.g., sub-columns or sub-components of column 500-a) maybe configured to adjust or move in a second direction different from thefirst direction. In some examples, some columns may be configured toadjust shift in the second direction (among others) and allow fortexturing and dynamic adjustment on both sides based on the adjustment,as shown in FIG. 5B.

Each column can contain sub-columns for finer-grained control. In someexamples, these sub-column may be oriented in a first direction (e.g., avertical direction), a second direction (e.g., a horizontal direction, adirection different from the first direction, a direction orthogonal tothe first direction), another direction, or some combination thereof. Insome examples, the finer-grained control may be based on the sub-columnsadjusting, moving, and/or extending to enable additional structures,simulations, textures, vibrations, or sounds. For example, a set ofsub-columns may adjust in a horizontal direction and may simulatetexture of an object as shown in FIG. 5B. Additionally or alternatively,the sub-columns (or a sub-component of at least some sub-columns) mayvibrate to produce waves (e.g., sound, air or wind).

FIG. 6 illustrates examples of a dynamic column and tile structure 600in accordance with various aspects of the present disclosure. In someexamples, various combinations or alternatives of columns, tiles, and/orsub-columns may be combined to increased functionality. In someexamples, these hybrid columns and tiles may produce more realisticphysical environments and lead to more accurate physical representationsof objects. For example, a column having textured sides and a top maymore accurately represent a bush, a rock, a plant or another object(e.g., particularly when coordinated with a virtual reality environmentand/or related objects.

In some examples, this may be applicable to application beyond floortiles or columns that comprise the floor. The oscillating columnar tileprinciple could work in other axes than simply the vertical. Wallsurfaces at edges of the floor could also tiled, as could the surfacesof geometric objects (e.g., such as a cube or basketball-shape/sizedobject that could be controlled wirelessly and powered by battery), asshown in FIG. 7. Oscillating lateral or other axial angles couldthemselves be incorporated within the sides of other oscillatingcolumnar tiles.

FIG. 7 illustrates an example of a dynamic structure and surfaceenvironment 700 in accordance with various aspects of the presentdisclosure. The components in FIG. 7 may relate to a dynamic tessellatedsurface with individually oscillating tiles for virtual realityapplications. The system may facilitate manipulating landscape andsurface topography. The dynamic structures and surface environment 700includes a foundation layer, support columns 710, and columns 715 (e.g.,column 115-a to 115-u). In some cases, dynamic structures and surfacesystem 100 may support adjustment of various structures to augment aphysical reality environment with or separate from a virtual realityenvironment. In some examples, one or more support columns 710 mayadjust to expose one or more tiles and/or column section 705-a and/or705-b. In some examples, a subset of the plurality of columns may beadjusted such that some tiles and/or column section 705 may extend abovean initial position or plane (e.g., an initial plane related to thecolumns initial position or where one or more users (e.g., users 701 and702) may have been or may be positioned. In some examples, tiles and/orcolumn section 705 may extend upward to form one or more structuresabove an initial plane (e.g., section 705-b), downward to form or morestructures below the initial plane (e.g., section 705-a), or acombination thereof.

In some cases, columns may move in smaller groups, or, for highly simpleapplications with tens of-cm range (“human”-scale columns), one largecolumn would move, to create a geometrically simple object such as aplace to sit, or significantly, with increased z-axis, a wall. Forexample, a column or a set of columns may adjust to create simulated oractual objects that users may interact with. In some cases, a set ofcolumns may adjust (e.g., separately or together) to create an object(e.g., a table, a chair, a rock, a bush, other object, or a combinationthereof). For example, multiple columns may adjust in multipledirections to create an object have texture in multiple ways (e.g.,directions, thicknesses), such as tree 745, among other examples. Asanother example, multiple columns may adjust to create a chair 740. Thischair may have straight surfaces based on the granularity of the columnsor may have curved surfaces based on the granularity of the columns. Thechair may have a back of a first height (e.g., 4 feet tall), a seat of asecond height (e.g., 2 feet tall), one or more arms of a third height(e.g., 3 feet tall).

Physical columnar tile based walls could dynamically be created andremoved, coordinated artfully with virtual wall appearance, in real timein order to create the illusion of endless physical progression, onewhich would seem to be validated by touch and simple physical reality(acoustic effects). For example, a set of columns may be adjusted tocreate a wall (e.g., a straight wall, a curved wall). In some cases, theset of columns may include adjusting additional columns (at a firsttime, over time, or in real time) to create an endless progressionwithin a large space. In some examples, unintended secondary vibrationsinduced by the actuators could be addressed through known principles ofactive sound canceling or movement canceling or adjustment. In principleit's about oscillation: vibration, auditory and even musical principlescan be applied to the physical world and/or environment.

As oscillation frequencies increase above the threshold of human hearing(e.g., approximately 20 Hz), each tile could in principle act as a soundproduction surface itself (i.e., speakers) either alone, or in concertwith other tiles. For example, a column or a sub-component may beconfigured to vibrate based on one or more inputs. In effect the columnor the sub-component my act as a speaker and vibrate based on receivedsound or other signals. For example a first column or set of columns mayreceive a first signal and may reproduce sounds based on the signal. Thefirst signal may, in some cases, include sounds of a certain type (e.g.,music, non-music, instructions), sounds having certain characteristics(e.g., wavelength), classification (e.g., bass, mid-level, treble),other parameters, or some combination thereof. In some cases, certaincolumns (or the tiles or other sub-components) may reproduce receivedsounds signals and create a more-immersive environment. The receivedsignals, may be based on a user input, a user selection, a virtualreality environment programming, from a device storing certain signals(e.g., songs, tones, recordings, user recordings of family members,celebrity recordings). This oscillation based on received signals wouldallow the columns (e.g., a tile surface of the columns) to correlatewith one or more elements of the experience such as music, and increasethe immersive experience by allowing for additional sound or tactileperception by the user(s).

Additionally, vibrations transmitted to one or more users of virtualreality application through the columns could supplement and enhancetraditional air-based speakers and/or environments. As a result, thiswould allow for interesting effects during virtual musical performancesby intelligently combining the two modes of transmission. In someexamples, this would include sounds from normal speakers as well astiles, columns, and/or other components that would also vibrate and/orproduce sound to expand the experience.

In some examples, one or more additional devices and/or component 735may be included as part of the physical environment to further enhanceuser experience. In some examples these additional devices would be atthe periphery of the tiled space, while in others they could besuspended from a ceiling structure from above. Some examples, includefans, lighting, water (e.g., misters, sprinklers, buckets, runningsources, waterfalls, wading pools), temperature devices (e.g., heaters,coolers, air conditioning units, ice), sounds (e.g., wind, rain, humansounds, animal sounds), scents (e.g., animal scents, food, rain,perfume/cologne) other effects, or a combination thereof. Devices and/orcomponent 735 may include one or more subcomponents or features (e.g.,735-a, 735-b, 735-c) that may be the same, similar, or different. Asmerely one example, large fans 735-a at the perimeter of the area orenvironment would provide a wind-tunnel effect to simulate atmosphericconditions and propagate artificial scents (e.g., potentially releasedby subcomponents or feature 735-b), while subcomponent or feature 735-cmay be a water or sound based feature to further augment userexperience. These auxiliary simulators may, in some examples, generatemore specialized wind effects and could be activated in conjunctionwith, dependent upon, independent of, or in some other combination withthe dynamic columnar movement and/or other aspects described in thepresent disclosure.

In some examples, auxiliary motion simulators for some objects may bepositioned within the physical environment (e.g., a first time or abeginning of an experience, dynamically based on programming, userinteraction, other parameters or information, or a combination thereof.For example, one or more vehicles 750 (e.g., cars, amusement park rides,rocket and airplane cockpits, bicycles, personal transporters,skateboards etc.), among other examples, can be autonomously positionedas needed and interface with the columns underneath (or in some cases,may be independent of any columns or other adjustable structures), and auser can then enter and exit vehicles/simulators in a way that creates aseamless experience. In some examples, these simulators would providemore detailed and realistic tactile and haptic interfaces for users,e.g. steering wheels and other controls). In some examples, they wouldcontain additional and enhancing motion simulation capabilities toaugment the columns underneath (e.g., facilitating additional movement,such as rotation, more localized and subtle vibration effects, and windeffects).

In some examples, one or more tiles and/or columns of section 705 may beconfigured to track a user and simulate various surfaces and/orconditions. By tracking a user's location and/or position information,one or more tiles and/or columns may be configured to localizeadjustments, vibrations, responses, accelerations, or other movements tosimulate various surfaces or conditions. For example, one or more tilesand/or columns may be configured to simulate bouncy, crunchy, orcushioned surfaces or conditions for simulating various walking surfacetypes on a per-area or per-individual tile or column basis. In somecases, one or more tiles and/or columns may be configured to track auser and simulate various surfaces and/or conditions when correlated orrelated to additional sensory perceptions. For example, the one or moretiles and/or columns may be configured to track a user and simulatevarious surfaces and/or conditions at the same time that a user hears anoise (e.g., gravel crunching, mud squishing, fire crackling), sees animage (e.g., a gravel walkway, a muddy path, a grass hill, a fire),smells a scent (e.g., rain, dew, food, fire/smoke), other perceptions,or some combination.

Visual and tactile suggestions, including subconscious, and conscious(ranging from subtle cues to insistent commands) can be employed. Forexample, the columns that need to move in order to effect the desirednew configuration, but are obstructed by the presence of one or moreusers in the physical environment, could be visually indicated in thevirtual space. For examples, relevant tiles may glow red (in the virtualspace) when a transition script is initiated but a user (e.g., human ornon-human object) is exerting a force on the column. Additionally oralternatively, subtle vibration could also be employed, either at anoticeable or subconscious level (or in a pattern that research hasdetermined works well on humans). The user may move or the offendingobject to any surrounding non red-glowing tiles and the transitionscript can proceed apace.

The system may also be capable of creating inertial and gravimetriceffects on people and objects. In some examples, system may manipulateair and other transmission mediums to create waves, including generatingsound waves.

In some examples, one or more components or elements (by itself or basedon information received) may determine whether a user of the virtualreality application in association with the physical environmentsatisfies a bad actor criteria. For example, by determining or detectingcertain actions of a bad actor, some structure or organization may beactuated in response. This determination or detection may be based ondetecting position information (at a first time, multiple times, or acombination thereof), sensor data (e.g., including from sensors within acolumn or independent of a column, video data, audio data, facialrecognition), other information, or a combination thereof. As oneexample, by detecting that a user is contacting one or more columnsaggressively (e.g., based on being greater than a threshold activitydetermination), or inappropriately interacting with other users presentin the same physical room, remedial action can be taken. In some cases,this may include extending columns in a shape to contain or limitmovement of the user (i.e., extending a group of columns to create abox). Alternatively, column orientations that were in use may ceasebased on detected behavior (i.e., at least some, if not all, columns mayreturn to an initial setting and eliminate any shape to protect thecolumns and the user).

Additionally or alternatively, someone who is passed out or not incontrol of their faculties could be “bedded” and simply “rolled” to theappropriate location where security or medical personnel are waiting forthem. For example, if a user refuses to move or can't move the columnsmay be actuated to “move” the user to a designated area to preventinjury or to allow other users participating to continue moving throughthe environment. This “movement” may be based at least in part onoscillating the columns up and down to “roll” the user from a firstlocation to another location.

In some examples, a socially interactive experience in sharing virtualreality environments together in different rooms, in differentenvironments, and/or in different locations. In some examples, this mayinclude users being physically present in the same space (e.g., FIG. 7),or at separate sites that can be programmed to be physically similar oridentical so the users can essentially “share” the same virtual spacethat has physically similar or identical characteristics even whenseparated by long distances. The tessellated surface could be a grid(simple) triangular (compound) or a combination of polygons in order toapproximate various geometric shapes.

Real-time position of each column may be constantly tracked tomillisecond accuracy by the mechanics and logic of the linearactuator/controller itself, among other devices. For example, theactuator may be calibrated to track the position of at least some, ifnot each, of the columns based on tracking an initial position andcomparing a second position to the initial position (e.g., at anisolated time, over a period).

This may perhaps additionally be performed by laser or other wavelengthof electromagnetic radiation for safety redundancy. For example, adevice may be a first fixed location relative to a column. After thecolumn has moved (e.g., in a first vertical direction), a laser or othersensor device may identify a distance that the column has moved (e.g., adistance that the column has extended in a vertical direction).

There can be a hierarchy of column sizes with large ones for gravimetriceffects, medium ones with actuators resting within the large columns forhuman-scale surfaces (chairs, boulders tree stumps, etc.), and smallerones for textural effects and vibrational wave propagation (music, andother higher-level oscillation effects).

For example, as shown in FIGS. 1, 2, and 7, among others, a first set ofcolumns may facilitate gravimetric effects. These columns may includethose in a first layer and/or those in a second layer (e.g., largercolumns having a greater cross-sectional area). This first set ofcolumns may be configured to move at calculated speeds to simulategravimetric effects, including moving the “floor” (e.g., a top layer ofthe columns). In some cases, this movement may be based on userlocation, velocity, acceleration, a virtual reality simulation orprogram, other information, or some combination.

Columns could move globally for gravimetric effects that provide asensation of acceleration. In some examples, the first set of columns(e.g., that may be immediately next to each or scattered as a subsetthroughout a larger number of columns), may move upward or downward at aparticular rate to simulate various levels of increased or decreasedgravity, or a complete lack thereof. In some cases, this may be based onmovement of the user, position information related to the user, virtualreality programming or parameters, other information, or somecombination.

They could also move globally beneath the limits of the human perceptionof acceleration (I.e. extremely slowly), in order to set up or preparethe next gravimetric effect or other structural effect for anenvironment changes. This may, in some examples, impose a certain limiton how much freedom, or more specifically the cadence of events, that an“experience designer” has in deploying gravimetric effects. But thisalso depends on the z-axis length and freedom of movement (range) of thecolumns.

There is in principle no hard limit on the length of each column;columns of several or even tens of meters can be utilized forlarger-scale gravimetric effects: such as the sensation of becomelighter, heavier, falling, floating, or accelerating upwards. Columnheight correlates positively with gravimetric event cadence. Forexample, when a user is positioned on or directly above a set ofcolumns, adjusting the column height of one or more columns maycorrelate with creating gravimetric events or feeling that may beexperienced by the user or the users.

In some examples, based on tracking user movement and/or action (usingsensor data, whether from the columns and/or separate), one or moredevices may track when an object or person is falling, and have thecolumns “catch” and safely decelerate the person to minimize injury(e.g., feeling much like an airbag or trampoline). This may be based oncalculations about the user (e.g., height, weight), the current positionof one or more columns or tile, predicting a time of the user's contactwith the wall based on perceived sensor data, comparing the time of thecontact with an ability of the column to be adjusted at a speed, otherdata and/or factors, or some combination thereof.

FIG. 8 shows a block diagram 800 of a device 805 that supportsconfiguration of dynamic tessellated surface with individuallyoscillating tiles for virtual reality applications in accordance withvarious aspects of the present disclosure. In some examples, device 805may be a wired and/or a wireless device and may be configured tocommunicate with one or more other devices. Device 805 may includereceiver 810, dynamic surface controller 815, and transmitter 820.Device 805 may also include a processor. Each of these components may bein communication with one another (e.g., via one or more buses).

The components of the device 805 may, individually or collectively, beimplemented using one or more application-specific integrated circuits(ASICs) adapted to perform some or all of the applicable functions inhardware. Additionally or alternatively, the functions may be performedby one or more other processing units (or cores), on one or moreintegrated circuits. In other examples, other types of integratedcircuits may be used (e.g., Structured/Platform ASICs, FieldProgrammable Gate Arrays (FPGAs), and other Semi-Custom ICs), which maybe programmed in any manner known in the art. The functions of eachcomponent may also be implemented—in whole or in part—with instructionsembodied in memory formatted to be executed by one or more generaland/or application-specific processors.

Receiver 810 may receive information such as packets, user data, orcontrol information associated with various information channels (e.g.,control channels, data channels, and information related to dynamictessellated surface with individually oscillating tiles for virtualreality applications, etc.). Information may be passed on to othercomponents of the device.

Dynamic surface controller 815 may identify a location of user in astructure at a first time, identify a position of each of a plurality ofcolumns, each column having a length in a first direction, across-sectional area in a second direction, and a top surface, andadjust a position of a subset of the plurality of columns based at leastin part on the location of the user and the position of the subset ofthe plurality of columns.

Transmitter 820 may transmit signals generated by other components ofthe device. In some examples, the transmitter 820 may be collocated witha receiver 810 in a transceiver module. The transmitter 820 may includea single antenna, or it may include a set of antennas.

FIG. 9 shows a block diagram 900 of a device 905 that supportsconfiguration of dynamic tessellated surface with individuallyoscillating tiles for virtual reality applications in accordance withvarious aspects of the present disclosure. Device 905 may be an exampleof aspects of a device 805 or a dynamic surface controller 815 asdescribed with reference to FIG. 8. In some examples, device 805 may bea wired and/or a wireless device and may be configured to communicatewith one or more other devices. Device 905 may include receiver 910,dynamic surface controller 915, and transmitter 920. Device 905 may alsoinclude a processor. Each of these components may be in communicationwith one another (e.g., via one or more buses).

Receiver 910 may receive information such as packets, user data, orcontrol information associated with various information channels (e.g.,control channels, data channels, and information related to dynamictessellated surface with individually oscillating tiles for virtualreality applications, etc.). Information may be passed on to othercomponents of the device. The receiver 910 may be an example of aspectsof the receiver 810 described with reference to FIG. 8.

Dynamic surface controller 915 may be an example of aspects of thedynamic surface controller 815 described with reference to FIG. 8.Dynamic surface controller 915 may include location component 925,position component 930, input component 935,identification/determination component 940, and adjustment component945.

Location component 925 may identify a location of user in a structure ata first time and identify a second location of the user at a second timeafter the first time. In some examples, adjusting the position of the atleast one column may be based on the first position and the secondposition. In some cases, location component 925 may identify a locationof a user based on received sensor data. For example, a sensorassociated with one or more tiles (e.g., tile 305) or columns (e.g.,column 310) may detect a sensor condition. A sensor condition mayinclude detected motion, pressure, sound, heat. For example, a user maystep on to a tile (i.e., the 305) and a sensor associated with the tilemay detect that the user has stepped on to the tile. As a result,location component 925 may identify the location of the user based onreceived sensor data associated with the stepped tile.

Additionally, location component 925 may identify a location of the userin a structure (i.e., physical environment) based on locationinformation associated with the virtual environment. For example,location component 925 may identify a location of the user in thevirtual environment. Location component 925 may, as result, map thephysical environment of the structure to the virtual environment. Insome examples, location component 925 may identify the location of theuser in the structure based on correlating the virtual environment andthe physical environment of the structure in association with receivedsensor data.

Location component 925 may, additionally or alternatively, identify alocation of the user based on received signals from a wearable device(e.g., a virtual reality headset, wristband) on the user. In some cases,the wearable device may transmit location information to one or moresensors associated with the structure, and the sensors may report thelocation information to a control device (e.g., dynamic surfacecontroller, server, virtual reality manager). In some examples, thewearable tracking device may additionally transmit a user ID identifyingthe user of the wearable tracking device.

Position component 930 may identify a position of each of a set ofcolumns, each column having a length in a first direction, a width in asecond direction, and a top surface. In some examples, positioncomponent 930 may identify a position of each of a plurality of columns,each column having a length in a first direction, a cross-sectional areain a second direction, and a top surface. Additionally, positioncomponent 930 may identify a second location and/or position of the userat a second time after the first time, wherein adjusting the position ofthe at least one column may be based at least in part on the firstposition and the second position.

Input component 935 may perform one or more operations and/or functionsrelating to one or more inputs. In some examples, input component 935may receive one or more various inputs such as data and/or information.Examples of one or more inputs may include, but are not limited tolocation information, user input, user characteristic input, audioinput, image input, video input, picture input, text input, voice input,weight input, time input, numerical input, some combination, and/orother inputs. In some examples, input component 935 may perform one ormore operations on one or more sets of input information and/or data.These operations may include, but are not limited to, receiving,analyzing, ordering, grouping, organizing, assembling, comparing,determining one or more characteristics, identifying input type or otherinformation, other operations, or some combination related to one ormore inputs. One or more operations may be performed using apre-programmed algorithm, a dynamic algorithm based on updated and/oraddition information such as inputs (among other things), and/or somecombination of these algorithms, among others.

In some examples, at least some of the various inputs may be capturedand/or received by one or more devices in an environment (e.g., sensors,user equipments (UEs), cameras) based on one or more characteristics,including but not limited to motion, voice command, time, proximity,relative or absolute location, user request, user verification, promptby an automation system, based on one or more specific actions relatingto one or more system components, some combination, and/or others. Insome examples, one or more operations relating to inputs may beperformed automatically based at least in part on one or more criteria,one or more user preferences, pre-determined system preferences, a userprofile setting, a default, a passage of time, one or more sensorinputs, a user action relating to an electronic device, a user action ata control panel, other information, and/or some combination.

In some examples, input component 935 may receive input data from alocal memory storage unit that may be part of or separate from anenvironment system. In some examples, input component 935 may receiveinput stored locally, stored on a remote server, and/or stored based ona local area network that facilitates communication and memory storagesharing between similarly-located home automation systems. For example,input component 935 may receive one or more types of data from a memorystorage device positioned within a structure, like a home or awarehouse. These types of data may include, but are not limited to, userpreferences, user profiles, user actions, user location, relative orabsolute locations, information relating to significant events, securityfeatures, image data (e.g., photos, videos), combinations of these,and/or other information. The input component 935 may receive this datadirectly and/or indirectly using one or more wired and/or wireless linksfrom the memory storage device and, based at least in part on this data,perform one or more operations and/or functions relating to productordering.

For example, input component 935 may receive image data associated witha virtual reality environment or program or based on a user's actions ina physical environment or a virtual environment. In some examples, thesystem may, via an algorithm, analyze the data, extract relevantinformation, and then initiate one or more other actions based oninformation.

In some examples, identification/determination component 940 may performone or more operations and/or functions relating to one or more inputs,actions, user positions, column positions or operations, parameters,characteristics, some combination, and/or other information and/or data.In some examples, identification/determination component 940 may utilizeone or more algorithms to perform one or more operations and/orfunctions relating to one or more different types of data, including,but not limited to dynamic column adjustment parameters. In someexamples, examples of such parameters may include one or more types ofpast, present, and/or future column and/or user position information,adjustments of one or more objects and/or structures, virtual realityenvironment programming and/or user interactions, information of a userincluding actions after or movement based on previous adjustments orother operations, and/or other information and/or data. In someexamples, one or more default parameters or characteristics may beidentified based at least in part on user choice, user preferences,system operations, system determinations relating user location and/oractions, other information, or a combination thereof.

In some examples, identification/determination component 940 mayidentify a location of one or more users in a structure at one or moretimes. This may be based on sensor data obtained by sensors in contactwith or part of one or more columns, sensors data received from othersources and/or components (e.g., video sensor data, proximity data),other sources, or a combination thereof. This identification may allowfor tracking the user at various times to identify movement, patterns,speed, direction, velocity, acceleration, and/or other parameters.

In some examples, identification/determination component 940 mayidentify a position of one or more columns in a structure at one or moretimes. This may be based on sensor data obtained by sensors in contactwith or associated with one or more columns, sensor data received fromother sources and/or components (e.g., video sensor data, proximitydata), other sources, or a combination thereof. This identification mayallow for tracking one or more positions of one or more columns user atvarious times to identify movement, patterns, speed, direction,velocity, acceleration, and/or other parameters related to columnadjustment.

In some examples, identification/determination component 940 mayidentify an action of a user. In some cases, this identification mayinclude identifying one or more actions relative to a column. This may,in some cases, be based on the location of the user relative to one ormore columns (e.g., one or more columns in a subset that have beenand/or will be adjusted from a first position to a second position, oneor more columns that have not been and/or will not be adjusted). Thismay be based on sensor data obtained by sensors in contact with orassociated with one or more columns, sensor data received from othersources and/or components (e.g., video sensor data, proximity data),other sources, or a combination thereof.

Identification/determination component 940 may perform one or moreoperations and/or functions relating to one or more inputs,identification, positions, parameters, notifications, users, operations,initiations, and/or other actions. Identification/determinationcomponent 940 may determine data and/or other information relating toone or more columns, subset of columns, tiles, or subset of tiles. Insome examples, identification/determination component 940 may determineto adjust a position of at least one column associated with the physicalenvironment. In some cases, adjusting the position of the at least onecolumn may be based on information related to the virtual realityenvironment. That is, identification/determination component 940 mayadjust a position of a column based on a location of the user in thephysical environment and/or the virtual reality environment. In somecases, identification/determination component 940 may adjust a column inthe physical environment based on additionally a position of a subset ofa plurality of columns in the physical environment.Identification/determination component 940 may adjust a column in thephysical environment based on a proximity to the user and position of asubset of a plurality of columns in the physical environment.

Identification/determination component 940, in some examples, maydetermine a parameter associated with the user based the first positionand the second position. In some cases, identification/determinationcomponent 940 may adjust one or more columns based on the parameter. Aparameter may include a speed, a direction, a velocity, an acceleration,or a combination thereof. For example, identification/determinationcomponent 940 may adjust the position of a subset of a plurality ofcolumns based on one or determined parameters. These operations mayinclude, but are not limited to, receiving, analyzing, ordering,grouping, determining one or more characteristics, identifying inputtype or other information, related to one or more inputs, somecombination, and/or other operations. One or more operations may beperformed using a pre-programmed algorithm, a dynamic algorithm based onupdated and/or addition information such as inputs, and/or somecombination of these algorithms, among others.

Adjustment component 945 may adjust a position of a subset of the set ofcolumns based on the location of the user and the position of a subsetof the set of columns. In some examples, adjustment component 945 maydetermine to adjust the position of at least one column based at leastin part on the location of the user and the position of a subset of theplurality of columns, wherein adjusting the position of the subset ofthe plurality of columns may be based at least in part on thedetermination. In some examples, adjustment component 945 may adjust afirst column to a first height in the first direction; and adjust asecond column to a second height different from the first height in thefirst direction. In some examples, adjusting the first column overlapswith adjusting the second column.

Transmitter 920 may transmit signals generated by other components ofthe device. In some examples, the transmitter 920 may be collocated witha receiver 910 in a transceiver module. For example, the transmitter 920may be an example of aspects of the transmitter 820 described withreference to FIG. 8. The transmitter 920 may include a single antenna,or it may include a set of antennas.

FIG. 10 shows a block diagram 1000 of a dynamic surface controller 1015that supports configuration of dynamic tessellated surface withindividually oscillating tiles for virtual reality applications inaccordance with various aspects of the present disclosure. The dynamicsurface controller 1015 may be an example of aspects of a dynamicsurface controller 815 or a dynamic surface controller 915 describedwith reference to FIGS. 8 and 9. The dynamic surface controller 1015 mayinclude location component 1020, position component 1025, adjustmentcomponent 1030, and sensor component 1035. Each of these components maycommunicate, directly or indirectly, with one another (e.g., via one ormore buses).

Location component 1020 may identify a location of user in a structureat a first time and identify a second location of the user at a secondtime after the first time. In some examples, adjusting the position ofthe at least one column may be based on the first position and thesecond position. Location component 1020 may identify a location of userin a structure at a first time and identify a second location of theuser at a second time after the first time. In some examples, adjustingthe position of the at least one column may be based on the firstposition and the second position. In some cases, location component 1020may identify a location of a user based on received sensor data.

For example, a sensor associated with one or more tiles (e.g., the 305)or columns (e.g., column 310) may detect a sensor condition. A sensorcondition may include detected motion, pressure, sound, heat. Forexample, a user may step on to a tile (i.e., tile 305) and a sensorassociated with the tile may detect that the user has stepped on to thetile. As a result, location component 1020 may identify the location ofthe user based on received sensor data associated with the stepped tile.

Additionally, location component 1020 may identify a location of theuser in a structure (i.e., physical environment) based on locationinformation associated with the virtual environment. For example,location component 1020 may identify a location of the user in thevirtual environment. Location component 1020 may, as result, map thephysical environment of the structure to the virtual environment. Insome examples, location component 1020 may identify the location of theuser in the structure based on correlating the virtual environment andthe physical environment of the structure in association with receivedsensor data.

Location component 1020 may, additionally or alternatively, identify alocation of the user based on received signals from a wearable device(e.g., a virtual reality headset, wristband) on the user. In some cases,the wearable device may transmit location information to one or moresensors associated with the structure, and the sensors may report thelocation information to a control device. In some examples, positioncomponent 1025 may be, include features, or be an example of thelocation component 925.

Position component 1025 may identify a position of each of a set ofcolumns, each column having a length in a first direction, a width in asecond direction, and a top surface. In some examples, positioncomponent 1025 may identify a position of each of a plurality ofcolumns, each column having a length in a first direction, across-sectional area in a second direction, and a top surface.Additionally, position component 1025 may identify a second locationand/or position of the user at a second time after the first time,wherein adjusting the position of the at least one column may be basedat least in part on the first position and the second position.

In some examples, position component 1025 may identify a position of oneor more columns in a structure at one or more times. This may be basedon sensor data obtained by sensors in contact with or associated withone or more columns, sensor data received from other sources and/orcomponents (e.g., video sensor data, proximity data), other sources, ora combination thereof. This identification may allow for tracking one ormore positions of one or more columns user at various times to identifymovement, patterns, speed, direction, velocity, acceleration, and/orother parameters related to column adjustment.

In some examples, position component 1025 may identify an action of auser. In some cases, this identification may include identifying one ormore actions relative to a column. This may, in some cases, be based onthe location of the user relative to one or more columns (e.g., one ormore columns in a subset that have been and/or will be adjusted from afirst position to a second position, one or more columns that have notbeen and/or will not be adjusted). This may be based on sensor dataobtained by sensors in contact with or associated with one or morecolumns, sensor data received from other sources and/or components(e.g., video sensor data, proximity data), other sources, or acombination thereof.

Adjustment component 1030 may adjust a position of a subset of the setof columns based on the location of the user and the position of asubset of the set of columns. In some examples, adjustment component1030 may determine to adjust the position of at least one column basedat least in part on the location of the user and the position of asubset of the plurality of columns, wherein adjusting the position ofthe subset of the plurality of columns may be based at least in part onthe determination. In some examples, adjustment component 1030 mayadjust a first column to a first height in the first direction; andadjust a second column to a second height different from the firstheight in the first direction. In some examples, adjusting the firstcolumn overlaps with adjusting the second column.

Sensor component 1035 may sensor data detected from within thestructure, wherein identifying the location of user may be based atleast in part on the sensor data. In some cases, the sensor datacomprises data associated with a sensor in contact with a column of theplurality of columns, or data associated with a sensor isolated from theplurality of columns, or a combination thereof. Additionally oralternatively, the sensor data comprises video data, audio data, GPSdata, or a combination thereof. The sensor data may additionally oralternatively include video data, audio data, GPS data, or a combinationthereof.

In some examples, sensor component 1035 may determine a parameterassociated with the user based at least in part on the first positionand the second position. A parameter may include a speed, a direction, avelocity, an acceleration, or a combination thereof. In some examples,sensor component 1035 may identify an action of the user relative to acolumn of the subset of the plurality of columns based at least in parton the location of the user or sensor data.

FIG. 11 shows a diagram of a system 1100 including a device 1105 thatsupports configuration of dynamic tessellated surfaces with individuallyoscillating tiles for virtual reality applications in accordance withvarious aspects of the present disclosure. Device 1105 may be an exampleof or include the components of device 805, device 905, or a dynamicsurface controller 815 as described above, e.g., with reference to FIGS.1, 8, and 9. Device 1105 may include components for bi-directional datacommunications including components for transmitting and receivingcommunications, including dynamic surface controller 1115, processor1120, memory 1125, software 1130, transceiver 1135, and I/O controller1140. These components may be in electronic communication via one ormore busses (e.g., bus 1110). In some examples, device 1105 maycommunicate bi-directional data using one or more antennas 1145 (whichmay be included in or separate from transceiver 1135) to one or morecomponents of environment structure 100-a, a user equipment (UE) 1150,other devices, or a combination thereof. In some cases, the device 1105may include a single antenna 1145. However, in some cases the device mayhave more than one antenna 1145, which may be capable of concurrentlytransmitting or receiving multiple wireless transmissions.

Processor 1120 may include an intelligent hardware device, (e.g., ageneral-purpose processor, a digital signal processor (DSP), a centralprocessing unit (CPU), a microcontroller, an application-specificintegrated circuit (ASIC), an field-programmable gate array (FPGA), aprogrammable logic device, a discrete gate or transistor logiccomponent, a discrete hardware component, or any combination thereof).In some cases, processor 1120 may be configured to operate a memoryarray using a memory controller. In other cases, a memory controller maybe integrated into processor 1120. Processor 1120 may be configured toexecute computer-readable instructions stored in a memory to performvarious functions (e.g., functions or tasks supporting dynamictessellated surface with individually oscillating tiles for virtualreality applications).

Memory 1125 may include random access memory (RAM) and read only memory(ROM). The memory 1125 may store computer-readable, computer-executablesoftware 1130 including instructions that, when executed, cause theprocessor to perform various functions described herein. In some cases,the memory 1125 may contain, among other things, a basic input/outputsystem (BIOS) which may control basic hardware and/or software operationsuch as the interaction with peripheral components or devices.

Software 1130 may include code to implement aspects of the presentdisclosure, including code to support dynamic tessellated surface withindividually oscillating tiles for virtual reality applications.Software 1130 may be stored in a non-transitory computer-readable mediumsuch as system memory or other memory. In some cases, the software 1130may not be directly executable by the processor but may cause a computer(e.g., when compiled and executed) to perform functions describedherein.

Transceiver 1135 may communicate bi-directionally, via one or moreantennas, wired, or wireless links as described above. For example, thetransceiver 1135 may represent a wireless transceiver and maycommunicate bi-directionally with another wireless transceiver. Thetransceiver 1135 may also include a modem to modulate the packets andprovide the modulated packets to the antennas for transmission, and todemodulate packets received from the antennas.

I/O controller 1140 may manage input and output signals for device 1105.I/O controller 1140 may also manage peripherals not integrated intodevice 1105. In some cases, I/O controller 1140 may represent a physicalconnection or port to an external peripheral. In some cases, I/Ocontroller 1140 may utilize an operating system such as iOS®, ANDROID®,MS-DOS®, MS-WINDOWS®, OS/2®, UNIX®, LINUX®, or another known operatingsystem.

FIG. 12 shows a flowchart illustrating a method 1200 for configuring anenvironment related to dynamic tessellated surface with individuallyoscillating tiles for virtual reality applications in accordance withvarious aspects of the present disclosure. The operations of method 1200may be implemented by a dynamic surface controller 815 or its componentsas described herein. For example, the operations of method 1200 may beperformed by a dynamic surface controller 815 as described withreference to FIGS. 8 through 10. In some examples, a dynamic surfacecontroller 815 may execute a set of codes to control the functionalelements of the device to perform the functions described below.Additionally or alternatively, the dynamic surface controller 815 mayperform aspects the functions described below using special-purposehardware.

At block 1205 the dynamic surface controller 815 may identify a firstlocation of user in the structure at a first time. The operations ofblock 1205 may be performed according to the methods described withreference to FIGS. 8 through 10. In certain examples, aspects of theoperations of block 1205 may be performed by a location component asdescribed with reference to FIGS. 9 and 10.

At block 1210 the dynamic surface controller 815 may identify a positionof each of a plurality of columns. In some examples, each column of theplurality may have a length in a first direction, a cross-sectional areain a second direction, and a top surface. The operations of block 1210may be performed according to the methods described with reference toFIGS. 8 through 10. In certain examples, aspects of the operations ofblock 1210 may be performed by a position component as described withreference to FIGS. 9 and 10.

At block 1215 the dynamic surface controller 815 may adjust a positionof a subset of the plurality of columns based on the first location ofthe user and the position of the subset of the plurality of columns. Theoperations of block 1215 may be performed according to the methodsdescribed with reference to FIGS. 8 through 10. In certain examples,aspects of the operations of block 1215 may be performed by anadjustment component as described with reference to FIGS. 9 and 10.

FIG. 13 shows a flowchart illustrating a method 1300 for configuring anenvironment related to dynamic tessellated surface with individuallyoscillating tiles for virtual reality applications in accordance withvarious aspects of the present disclosure. The operations of method 1300may be implemented by a dynamic surface controller 815 or its componentsas described herein. For example, the operations of method 1300 may beperformed by a dynamic surface controller 815 as described withreference to FIGS. 8 through 10. In some examples, a dynamic surfacecontroller 815 may execute a set of codes to control the functionalelements of the device to perform the functions described below.Additionally or alternatively, the dynamic surface controller 815 mayperform aspects the functions described below using special-purposehardware.

At block 1305 the dynamic surface controller 815 may receive sensor datadetected from within a structure. In some examples, the structure may beassociated with a virtual reality application. The operations of block1305 may be performed according to the methods described with referenceto FIGS. 8 through 10. In certain examples, aspects of the operations ofblock 1405 may be performed by a sensor component as described withreference to FIG. 10.

At block 1310 the dynamic surface controller 815 may identify a firstlocation of user in the structure at a first time. The operations ofblock 1310 may be performed according to the methods described withreference to FIGS. 8 through 10. In certain examples, aspects of theoperations of block 1310 may be performed by a location component asdescribed with reference to FIGS. 9 and 10.

At block 1315 the dynamic surface controller 815 may identify a positionof each of a plurality of columns. In some cases, each column may have alength in a first direction, a width in a second direction, and a topsurface. The operations of block 1315 may be performed according to themethods described with reference to FIGS. 8 through 10. In certainexamples, aspects of the operations of block 1315 may be performed by aposition component as described with reference to FIGS. 9 and 10.

At block 1320 the dynamic surface controller 815 may determine to adjustthe position of at least one column of the plurality based on the firstlocation of the user and the position of a subset of the plurality ofcolumns. The operations of block 1320 may be performed according to themethods described with reference to FIGS. 8 through 10. In certainexamples, aspects of the operations of block 1320 may be performed by aposition component or adjustment component as described with referenceto FIGS. 9 and 10.

At block 1325 the dynamic surface controller 815 may adjust the positionof the at least one column of the plurality based on the determining.The operations of block 1325 may be performed according to the methodsdescribed with reference to FIGS. 8 through 10. In certain examples,aspects of the operations of block 1325 may be performed by anadjustment component as described with reference to FIGS. 9 and 10.

FIG. 14 shows a flowchart illustrating a method 1400 for configuring anenvironment related to dynamic tessellated surface with individuallyoscillating tiles for virtual reality applications in accordance withvarious aspects of the present disclosure. The operations of method 1400may be implemented by a dynamic surface controller 815 or its componentsas described herein. For example, the operations of method 1400 may beperformed by a dynamic surface controller 815 as described withreference to FIGS. 8 through 10. In some examples, a dynamic surfacecontroller 815 may execute a set of codes to control the functionalelements of the device to perform the functions described below.Additionally or alternatively, the dynamic surface controller 815 mayperform aspects the functions described below using special-purposehardware.

At block 1405 the dynamic surface controller 815 may identify a firstlocation of user in a structure at a first time. The operations of block1405 may be performed according to the methods described with referenceto FIGS. 8 through 10. In certain examples, aspects of the operations ofblock 1405 may be performed by a location component as described withreference to FIGS. 9 and 10.

At block 1410 the dynamic surface controller 815 may identify a positionof each of a plurality of columns. In some cases, each column may have alength in a first direction, a width in a second direction, and a topsurface. The operations of block 1410 may be performed according to themethods described with reference to FIGS. 8 through 10. In certainexamples, aspects of the operations of block 1410 may be performed by aposition component as described with reference to FIGS. 9 and 10.

At block 1415 the dynamic surface controller 815 may adjust a positionof a subset of the plurality of columns based on the first location ofthe user and the position of a subset of the plurality of columns. Theoperations of block 1415 may be performed according to the methodsdescribed with reference to FIGS. 8 through 10. In certain examples,aspects of the operations of block 1415 may be performed by anadjustment component as described with reference to FIGS. 9 and 10.

At block 1420 the dynamic surface controller 815 may identify a secondlocation of the user at a second time. In some cases, the second timemay be after the first time. The operations of block 1420 may beperformed according to the methods described with reference to FIGS. 8through 10. In certain examples, aspects of the operations of block 1420may be performed by a location component as described with reference toFIGS. 9 and 10.

At block 1425 the dynamic surface controller 815 may determine aparameter associated with the user based on the first location and thesecond location. In some examples, the parameter may include a speed, adirection, a velocity, an acceleration, or a combination thereof. Theoperations of block 1425 may be performed according to the methodsdescribed with reference to FIGS. 8 through 10. In certain examples,aspects of the operations of block 1425 may be performed by a sensorcomponent as described with reference to FIG. 10.

It should be noted that the methods described above describe possibleimplementations, and that the operations and the steps may be rearrangedor otherwise modified and that other implementations are possible.Furthermore, aspects from two or more of the methods may be combined.

The description set forth herein, in connection with the appendeddrawings, describes example configurations and does not represent allthe examples that may be implemented or that are within the scope of theclaims. The term “exemplary” used herein means “serving as an example,instance, or illustration,” and not “preferred” or “advantageous overother examples.” The detailed description includes specific details forthe purpose of providing an understanding of the described techniques.These techniques, however, may be practiced without these specificdetails. In some instances, well-known structures and devices are shownin block diagram form in order to avoid obscuring the concepts of thedescribed examples.

In the appended figures, similar components or features may have thesame reference label. Further, various components of the same type maybe distinguished by following the reference label by a dash and a secondlabel that distinguishes among the similar components. If just the firstreference label may be used in the specification, the description may beapplicable to any one of the similar components having the same firstreference label irrespective of the second reference label.

Information and signals described herein may be represented using any ofa variety of different technologies and techniques. For example, data,instructions, commands, information, and signals, that may be referencedthroughout the above description may be represented by voltages,currents, electromagnetic waves, magnetic fields or particles, opticalfields or particles, or any combination thereof.

The various illustrative blocks and components described in connectionwith the disclosure herein may be implemented or performed with ageneral-purpose processor, a DSP, an ASIC, an FPGA or other programmablelogic device, discrete gate or transistor logic, discrete hardwarecomponents, or any combination thereof designed to perform the functionsdescribed herein. A general-purpose processor may be a microprocessor,but in the alternative, the processor may be a processor, controller,microcontroller, or state machine. A processor may also be implementedas a combination of computing devices (e.g., a combination of a DSP anda microprocessor, multiple microprocessors, one or more microprocessorsin conjunction with a DSP core, or any other such configuration).

The functions described herein may be implemented in hardware, softwareexecuted by a processor, firmware, or any combination thereof. Ifimplemented in software executed by a processor, the functions may bestored on or transmitted over as one or more instructions or code on acomputer-readable medium. Other examples and implementations are withinthe scope of the disclosure and appended claims. For example, due to thenature of software, functions described above can be implemented usingsoftware executed by a processor, hardware, firmware, hardwiring, orcombinations of any of these. Features implementing functions may alsobe physically located at various positions, including being distributedsuch that portions of functions are implemented at different physicallocations.

Also, as used herein, including in the claims, “or” as used in a list ofitems (for example, a list of items prefaced by a phrase such as “atleast one of” or “one or more of”) indicates an inclusive list suchthat, for example, a list of at least one of A, B, or C means A or B orC or AB or AC or BC or ABC (i.e., A and B and C). Also, as used herein,the phrase “based on” shall not be construed as a reference to a closedset of conditions. For example, an exemplary step that may be describedas “based on condition A” may be based on both a condition A and acondition B without departing from the scope of the present disclosure.In other words, as used herein, the phrase “based on” shall be construedin the same manner as the phrase “based at least in part on.”

Computer-readable media includes both non-transitory computer storagemedia and communication media including any medium that facilitatestransfer of a computer program from one place to another. Anon-transitory storage medium may be any available medium that can beaccessed by a general purpose or special purpose computer. By way ofexample, and not limitation, non-transitory computer-readable media maycomprise RAM, ROM, electrically erasable programmable read only memory(EEPROM), compact disk (CD) ROM or other optical disk storage, magneticdisk storage or other magnetic storage devices, or any othernon-transitory medium that can be used to carry or store desired programcode means in the form of instructions or data structures and that canbe accessed by a general-purpose or special-purpose computer, or ageneral-purpose or special-purpose processor. Also, any connection maybe properly termed a computer-readable medium. For example, if thesoftware may be transmitted from a website, server, or other remotesource using a coaxial cable, fiber optic cable, twisted pair, digitalsubscriber line (DSL), or wireless technologies such as infrared, radio,and microwave, then the coaxial cable, fiber optic cable, twisted pair,digital subscriber line (DSL), or wireless technologies such asinfrared, radio, and microwave are included in the definition of medium.Disk and disc, as used herein, include CD, laser disc, optical disc,digital versatile disc (DVD), floppy disk and Blu-ray disc where disksusually reproduce data magnetically, while discs reproduce dataoptically with lasers. Combinations of the above are also includedwithin the scope of computer-readable media.

The description herein may be provided to enable a person skilled in theart to make or use the disclosure. Various modifications to thedisclosure will be readily apparent to those skilled in the art, and thegeneric principles defined herein may be applied to other variationswithout departing from the scope of the disclosure. Thus, the disclosureis not limited to the examples and designs described herein, but is tobe accorded the broadest scope consistent with the principles and novelfeatures disclosed herein.

What is claimed is:
 1. A method for adjusting an environment,comprising: identifying a first location of a user in a structure at afirst time; identifying a position of each of a plurality of columns,each column having a length in a first direction, a cross-sectional areain a second direction, and a top surface; adjusting a position of asubset of the plurality of columns based at least in part on the firstlocation of the user and the position of the subset of the plurality ofcolumns.
 2. The method of claim 1, further comprising: determining toadjust the position of at least one column based at least in part on thefirst location of the user and the position of the subset of theplurality of columns, wherein adjusting the position of the subset ofthe plurality of columns is based at least in part on the determination.3. The method of claim 1, further comprising: receiving sensor datadetected from within the structure, wherein identifying the firstlocation of the user is based at least in part on the sensor data. 4.The method of claim 3, wherein the sensor data comprises data associatedwith a sensor in contact with a column of the plurality of columns, ordata associated with a sensor isolated from the plurality of columns, ora combination thereof.
 5. The method of claim 4, wherein the sensor datacomprises video data, audio data, GPS data, or a combination thereof. 6.The method of claim 1, further comprising: identifying a second locationof the user at a second time after the first time, wherein adjusting theposition of the subset of the plurality of columns is based at least inpart on the first location and the second location.
 7. The method ofclaim 6, further comprising: determining a parameter associated with theuser based at least in part on the first location and the secondlocation, the parameter comprising a speed, a direction, a velocity, anacceleration, or a combination thereof, wherein adjusting the positionof the subset of the plurality of columns is based at least in part onthe determination.
 8. The method of claim 1, wherein adjusting theposition of the subset of the plurality of columns comprises: adjustinga first column to a first height in the first direction; and adjusting asecond column to a second height different from the first height in thefirst direction, wherein adjusting the first column overlaps withadjusting the second column.
 9. The method of claim 1, furthercomprising: identifying an action of the user relative to a column ofthe subset of the plurality of columns based at least in part on thefirst location of the user or sensor data, wherein adjusting theposition of the column of the subset of the plurality of columns isbased at least in part on the identification.
 10. A columnar apparatusfor an environment, comprising: a first plurality of columns having alength in a first direction, a first cross sectional area, a firstsubset of the first plurality of columns configured to adjust in thefirst direction from a first position to a second position; an actuatorin contact with at least a portion of the first plurality of columns,the actuator configured to cause the portion of the first plurality ofcolumns to adjust in the first direction from the first position to thesecond position; and a controller configured to receive informationassociated with position information of the first subset of the firstplurality of columns and communicate with the actuator.
 11. The columnarapparatus of claim 10, further comprising: a second plurality of columnsextending in the first direction, wherein a second subset of the secondplurality of columns is positioned below the first plurality of columnsand is configured to adjust the first subset of the first plurality ofcolumns in the first direction based at least in part on adjusting inthe first direction.
 12. The columnar apparatus of claim 10, wherein thefirst subset of the first plurality of columns is configured tooscillate.
 13. The columnar apparatus of claim 11, wherein a secondcross sectional area of the second subset of the second plurality ofcolumns is greater than the first cross sectional area of a column inthe first plurality of columns.
 14. The columnar apparatus of claim 10,wherein a first column of the first plurality of columns comprises afirst tile on a first end of the first column, wherein a second columnof the first plurality of columns comprises a second tile on a first endof the second column, wherein a characteristic of the first tile isdifferent from a characteristic of the second tile.
 15. The columnarapparatus of claim 14, wherein the characteristic comprises: anorientation, a shape, a texture, a position relative to the firstdirection, or a combination thereof.
 16. The columnar apparatus of claim10, wherein the controller is configured to determine whether tocommunicate with the actuator based at least in part on the receivedposition information associated with a user.
 17. The columnar apparatusof claim 10, wherein the information associated with the positioninformation comprises: virtual reality environment information, whereinthe controller is configured to determine whether to communicate aninstruction to the actuator to adjust the first subset of the firstplurality of columns based at least in part on the virtual realityenvironment information.